package main

import (
	"fmt"
	"github.com/360EntSecGroup-Skylar/excelize"
	"xlxsToredis/tool"
)

func Rxlxs() (cols, rows [][]string, err error) {
	f, err := excelize.OpenFile("ex.xlsx")
	if err != nil {
		fmt.Println(err)
		return
	}
	// 获取 Sheet1 上所有单元格 列
	cols, err = f.GetCols("Sheet1")
	if err != nil {
		fmt.Println(err)
		return
	}
	// 获取 Sheet1 上所有单元格 行
	rows, err = f.GetRows("Sheet1")
	if err != nil {
		fmt.Println(err)
		return
	}
	return cols, rows, err
}

func main() {
	//从xlsx获取数据
	cols, rows, err := Rxlxs()
	if err != nil {
		panic(err)
	}
	fmt.Println("xlsx获取：")
	fmt.Println(len(cols), cols)
	fmt.Println(len(rows), rows)

	//结构体
	u, err := tool.Dataprocess(rows)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println("结构体：")
	fmt.Println(u)
	tool.WriteToRedis(u)

	//集合
	m := tool.Dprocess2(cols, rows)
	fmt.Println("集合：")
	fmt.Println(m)
	fmt.Println("集合处理：")
	tool.WriteToRedis2(m)

	re, err := tool.Dprocess2Re(m[1])
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(re)

	//获取
	fmt.Println("获取结构体1：")
	r := tool.GetStruct()
	fmt.Println(r)

	fmt.Println("获取结构体2：")
	for k := 0; k < len(rows)-3; k++ {
		r1 := tool.GetStruct2(k)
		fmt.Println(r1)
	}

	fmt.Println("获取集合：")
	r2 := tool.GetMap()
	fmt.Println(r2)
}
